package com.ruoyi.supermarket.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.supermarket.domain.Purchase;
import com.ruoyi.supermarket.domain.RkVo;
import com.ruoyi.supermarket.domain.Vo.ShCx;
import com.ruoyi.supermarket.domain.Xqpurchase;

/**
 * 采购采退汇总Service接口
 * 
 * @author ruoyi
 * @date 2024-05-22
 */
public interface IPurchaseService 
{
    /**
     * 查询采购采退汇总
     * 
     * @param purchaseId 采购采退汇总主键
     * @return 采购采退汇总
     */
    public Purchase selectPurchaseByPurchaseId(Long purchaseId);

    /**
     * 查询采购采退汇总列表
     * 
     * @param purchase 采购采退汇总
     * @return 采购采退汇总集合
     */
    public List<Purchase> selectPurchaseList(Purchase purchase);

    /**
     * 新增采购采退汇总
     * 
     * @param purchase 采购采退汇总
     * @return 结果
     */
    public int insertPurchase(Purchase purchase);

    /**
     * 修改采购采退汇总
     * 
     * @param purchase 采购采退汇总
     * @return 结果
     */
    public int updatePurchase(Purchase purchase);

    /**
     * 批量删除采购采退汇总
     * 
     * @param purchaseIds 需要删除的采购采退汇总主键集合
     * @return 结果
     */
    public int deletePurchaseByPurchaseIds(Long[] purchaseIds);

    /**
     * 删除采购采退汇总信息
     * 
     * @param purchaseId 采购采退汇总主键
     * @return 结果
     */
    public int deletePurchaseByPurchaseId(Long purchaseId);

    public  AjaxResult cgrk(RkVo rkVo);

    AjaxResult audit(ShCx shCx);

    AjaxResult outStore(Long purchaseId);

    AjaxResult pay(List<Long> ids);

    List<Purchase> selectPurchaseListTwo(Purchase purchase);

    List<Purchase> selectPurchaseListThree(Purchase purchase);

    List<Purchase> selectPurchaseListZf(Purchase purchase);

    AjaxResult zfPurchasepay(Long id);

    List<Purchase> selectPurchasecSList(Purchase purchase);
}
